﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Furion.Application
{
    public interface IUserService
    {
        UserProfile CurrentUserProfile();

        Task<UserProfile> UserProfileAsync([Required, FromQuery] long userId);

        Task<PagedList<UserProfile>> PageListAsync([FromQuery, Required] UserPageListInput input);


        Task DeleteAsync([Required] UserDeleteInput input);


        Task RecoveryAsync([Required] UserDeleteInput input);

        Task<long> AddAsync(UserAddInput input);

        Task EditAsync(UserEditInput input);

        Task<List<UserItem>> UserOptionsAsync();

        Task WeiXinUserEditAsync(WeiXinUserEditInput input);


        Task UpdateWeiXinInfoAsync(WxUserPara input);



    }
}
